export default {
  // 下载 Excel 方法
  excel(data, fileName) {
    this.download(data, fileName, "application/vnd.ms-excel");
  },

  // 下载 Word 方法
  word(data, fileName) {
    this.download(data, fileName, "application/msword");
  },

  // 下载 Zip 方法
  zip(data, fileName) {
    this.download(data, fileName, "application/zip");
  },

  // 下载 Html 方法
  html(data, fileName) {
    this.download(data, fileName, "text/html");
  },

  // 下载 Markdown 方法
  markdown(data, fileName) {
    this.download(data, fileName, "text/markdown");
  },

  // 下载 pdf 方法
  pdf(data, fileName) {
    console.log("data", data);
    console.log("fileName", fileName);
    this.download(data, fileName, "application/pdf");
  },

  // 下载 图片方法
  png(data, fileName) {
    this.download(data, fileName, "application/png");
  },

  // 兼容写法
  stream(data, fileName) {
    this.download(data, fileName, "application/octet-stream");
  },

  download(data, fileName, mineType) {
    // 创建 blob对象
    let blob = new Blob([data], { type: mineType });
    // 浏览器api 有的不支持-二种都写
    window.URL = window.URL || window.webkitURL;
    // 获取链接地址-(内容赋值到临时链接)
    let href = URL.createObjectURL(blob);
    // 创建a标签
    let downA = document.createElement("a");
    // 把链接赋值给a标签
    downA.href = href;
    // 赋值文件名称
    downA.download = fileName;
    // 点击下载
    downA.click();
    // 销毁超连接
    window.URL.revokeObjectURL(href);
  },
};
